<?php
	
	/**
	 * 操作分类模型
	 * @author Lwbang 
	 */
	namespace Common\Model;
	use Think\Model;
	
	class CategoryModel extends Model {
		
		protected $_validate = array(
			array('category_name','require','分类名必须填写'),
			array('category_pid','require','父类ID必须填写')
		);
		
		
		/**
		 * 返回一个分类是否存在子分类或者文章
		 * 如果没有返回相应的flag 那么就删除返回分类
		 * @return Int   返回1表示删除成功 返回2 表示存在子分类  返回3 表示存在文章 
		 * @param  Int   分类ID
		 */
		 public function isDelCategory($cid){
		 	//是否存在子分类
		 	$isChild = $this->where(array('category_pid'=>$cid))->find();
			//是否存在文章
			$isArticle = $this->table('my_article')->where(array('post_category_id'=>$cid))->find();
			
			if($isChild){
				return 2;	
			}
			if($isArticle){
				return 3;
			}
			return $this->delete($cid);
		 }
		 
		
		
		
		
		/**
		 * 返回所有的分类的树状结构
		 * @param void
		 * @return Array
		 */
		public function getTree(){
			//返回所有的分类数据
			$data = $this->select();
			$treeObj = new \Org\Util\Data();
			$tree = $treeObj->tree($data,'category_name','category_id','category_pid');
			return $tree;
		}
		
		
		
		
		
		
		
		
		
	}
	